import request from '@/utils/request';
import type { UserListRow, GetUserPageListReq, DeleteUserReq, UpdateUserStatusReq } from './model';

export * from './model.d';

/** 获取账户列表--分页
 * @param data.name 用户名
 * @param data.phone 联系电话
 */
export function getUserPageList(data: GetUserPageListReq & TablePageReq) {
	return request<PageResult<UserListRow>>({
		url: '/user/getUserByConditions',
		method: 'post',
		data,
	});
}

/** 添加账户
 * @param data.userName 姓名
 * @param data.phone 手机号
 * @param data.email 邮箱
 * @param data.loginName 用户名(登录名)
 * @param data.roleIds 权限id数组
 * @param data.status 用户状态
 * @param data.password 密码(md5加密)
 * @param data.description 描述
 */
export function addUser(data: UserListRow) {
	return request({
		url: '/user/insertUser',
		method: 'post',
		data,
	});
}

/** 修改账户
 * @param data.userName 姓名
 * @param data.phone 手机号
 * @param data.email 邮箱
 * @param data.loginName 用户名(登录名)
 * @param data.roleIds 权限id数组
 * @param data.status 用户状态
 * @param data.password 密码(md5加密)
 * @param data.description 描述
 */
export function updateUser(data: UserListRow) {
	return request({
		url: '/user/updateUser',
		method: 'post',
		data,
	});
}

/** 删除账户
 * @param data.id 账户id
 * @param data.loginName 用户名(登录名)
 */
export function deleteUser(data: DeleteUserReq) {
	return request<PageResult<UserListRow>>({
		url: '/user/deleteUserById',
		method: 'post',
		data,
	});
}

/** 修改账户状态
 * @param data.id 账户id
 * @param data.status	要改成的状态 0:启用 1:停用
 */
export function updateUserStatus(data: UpdateUserStatusReq) {
	return request({
		url: '/user/updateUserMStatus',
		method: 'post',
		data,
	});
}
